/*
 * BoardEvent.h
 *
 *  Created on: Mar 7, 2011
 *      Author: Michael Ziminsky
 */

#ifndef BOARDEVENT_H_
#define BOARDEVENT_H_

#include <Typesfwd.h>
#include <model/ChessBoard.h>

namespace model
{
	class BoardEvent
	{
		ChessBoard* const source;
		const Location& loc;
		const myTypes::cPiece value;

	public:
		BoardEvent(ChessBoard* const, const Location&, const myTypes::cPiece&);

		BoardEvent(const BoardEvent&);

		ChessBoard& getSource() const;

		const Location& getLocation() const;

		const myTypes::cPiece& getValue() const;
	};
}

#endif /* BOARDEVENT_H_ */
